package com.wangzemin.leetcode.num82;


public class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if (head == null||head.next==null) {
            return head;
        }
        ListNode dummy = new ListNode(-1);
        dummy.next = head;
        ListNode no1 = dummy;
        ListNode no2 = no1.next;
        ListNode no3 = no2.next;
        boolean no2Repeat = false;
        while (no3 != null) {
            if (no2Repeat) {
                if ( no3.val != no2.val) {
                    no1.next = no3;
                    no2 = no3;
                    no2Repeat = false;
                }
            }else {
                if (no3.val==no2.val){
                    no2Repeat = true;
                }else {
                    no1 = no2;
                    no2 = no3;
                }
            }
            no3 = no3.next;
        }
        if (no2Repeat){
            no1.next=null;
        }
        return dummy.next;
    }
}


class ListNode {
    int val;
    ListNode next;

    ListNode() {
    }

    ListNode(int val) {
        this.val = val;
    }

    ListNode(int val, ListNode next) {
        this.val = val;
        this.next = next;
    }
}